说说你对vue的mixin的理解,有什么应用场景?

您所在的位置:网站首页 vue minix是什么 说说你对vue的mixin的理解,有什么应用场景?

说说你对vue的mixin的理解,有什么应用场景?

2024-07-14 18:20| 来源: 网络整理| 查看: 265

1.mixin是什么

Mixin是面向对象程序设计语言中的类,提供了方法的实现。其他类可以访问mixin类的方法而不必成为其子类

当一段代码非常相似的时候就可以抽离成一个mixin

mixins是一个js对象,它可以包含我们组件中script项中的任意功能选项,如data、components、methods 、created、computed等等。我们只要将共用的功能以对象的方式传入 mixins选项中,当组件使用 mixins对象时所有mixins对象的选项都将被混入该组件本身的选项中来,这样就可以提高代码的重用性,使你的代码保持干净和易于维护。

2.使用场景

当存在多个组件中的数据或者功能很相近时,就可以利用mixins将公共部分提取出来,通过 mixins封装的函数,组件调用他们是不会改变函数作用域外部的。

3.mixins和vuex的区别。

vuex公共状态管理,在一个组件被引入后,如果该组件改变了vuex里面的数据状态,其他引入vuex数据的组件也会对应修改,所有的vue组件应用的都z是同一份vuex数据。(在js中,有点类似于浅拷贝) vue引入mixins数据,mixins数据或方法,在每一个组件中都是独立的,互不干扰的,都属于vue组件自身。(在js中,有点类似于深度拷贝)

区别转自:https://blog.csdn.net/weixin_41829196/article/details/109316852

4. mixins和组件的区别:

组件:在父组件中引入组件,相当于在父组件中给出一片独立的空间供子组件使用,然后根据props来传值,但本质上两者是相对独立的。

Mixins:则是在引入组件之后与组件中的对象和方法进行合并,相当于扩展了父组件的对象与方法,可以理解为形成了一个新的组件。 (装饰器模式)

区别转自:https://blog.csdn.net/hkduan/article/details/114649207

5.mixin的使用

定义一个mixin名字为myMixins

export default { data () { return { num:1 } }, methods: { mymixin() { console.log(this.num); }, } }

在组件中使用

import {myMixins} from './myMixins'; export default { mixins: [myMixins], data() { return {} }, created() { //使用mixin可以直接用,但是组件就得传值 this.num++ }, }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3